|
RAIS
3.2
|
00001 using System; 00002 using System.Collections; 00003 using System.Configuration; 00004 using System.Data; 00005 using System.IO; 00006 using System.Linq; 00007 using System.Web; 00008 using System.Web.Security; 00009 using System.Web.UI; 00010 using System.Web.UI.HtmlControls; 00011 using System.Web.UI.WebControls; 00012 using System.Web.UI.WebControls.WebParts; 00013 using System.Xml.Linq; 00014 using Microsoft.Reporting.WebForms; 00015 00016 using RAIS.ApplicationLogicLayer; 00017 using RAIS.Common; 00018 using RAIS.Common.UserManagement; 00019 00020 namespace RAIS.UI.SpecificMasks 00021 { 00025 public partial class RADEVReport : System.Web.UI.Page 00026 { 00027 protected void Page_PreLoad(object sender, EventArgs e) 00028 { 00029 RAIS.UI.Common.PageManagement.TrimTextBoxValues(this); 00030 } 00034 protected UserData CurrentUser 00035 { 00036 get { return (UserData)this.Session[UI.Common.Constants.CURRENT_USER_TAG]; } 00037 } 00038 00039 protected void Page_Load(object sender, EventArgs e) 00040 { 00041 string subreportName; 00042 00043 00044 if (Session["RADEV_CRITERIAS"] == null) 00045 return; 00046 RADEVCriterias criterias =(RADEVCriterias )Session["RADEV_CRITERIAS"]; 00047 report.LocalReport.DisplayName = (string)Session["ReportName"]; 00048 switch (criterias.Type) 00049 { 00050 case ReportType.OneLine: 00051 //report.LocalReport.ReportPath = "Reports\\Template - RADEV One Line.rdlc"; 00052 report.LocalReport.LoadReportDefinition( 00053 GetTranslatedReportDefinition("Template - RADEV One Line")); 00054 break; 00055 case ReportType.Complete: 00056 //report.LocalReport.ReportPath = "Reports\\Template - RADEV Detailed.rdlc"; 00057 report.LocalReport.LoadReportDefinition( 00058 GetTranslatedReportDefinition("Template - RADEV Detailed")); 00059 00060 subreportName = "Template - RADEV Summary Sub"; 00061 report.LocalReport.LoadSubreportDefinition(subreportName 00062 , GetTranslatedReportDefinition(subreportName)); 00063 00064 subreportName = "Template - RADEV RadiationGenerator"; 00065 report.LocalReport.LoadSubreportDefinition(subreportName 00066 , GetTranslatedReportDefinition(subreportName)); 00067 00068 subreportName = "Template - RADEV RadiationDevice"; 00069 report.LocalReport.LoadSubreportDefinition(subreportName 00070 , GetTranslatedReportDefinition(subreportName)); 00071 00072 subreportName = "Template - RADEV RadiationSource"; 00073 report.LocalReport.LoadSubreportDefinition(subreportName 00074 , GetTranslatedReportDefinition(subreportName)); 00075 00076 subreportName = "Template - RADEV EventWorkerPublicCauses"; 00077 report.LocalReport.LoadSubreportDefinition(subreportName 00078 , GetTranslatedReportDefinition(subreportName)); 00079 00080 subreportName = "Template - RADEV EventWorkerPublicType"; 00081 report.LocalReport.LoadSubreportDefinition(subreportName 00082 , GetTranslatedReportDefinition(subreportName)); 00083 break; 00084 case ReportType.Summary: 00085 //report.LocalReport.ReportPath = "Reports\\Template - RADEV Summary.rdlc"; 00086 report.LocalReport.LoadReportDefinition( 00087 GetTranslatedReportDefinition("Template - RADEV Summary")); 00088 00089 subreportName = "Template - RADEV Summary Sub"; 00090 report.LocalReport.LoadSubreportDefinition(subreportName 00091 , GetTranslatedReportDefinition(subreportName)); 00092 break; 00093 00094 } 00095 report.LocalReport.EnableExternalImages = true; 00096 report.LocalReport.DataSources.Add(ReportManagement.GetRADEVDataSource(ConfigurationManager.AppSettings["RADEVProvider"].ToLower(), "EventMaster", criterias)); 00097 report.LocalReport.SubreportProcessing += LocalReport_SubreportProcessing; 00098 } 00099 00100 void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e) 00101 { 00102 RADEVCriterias criterias = new RADEVCriterias(); 00103 criterias.IAEAEventID = e.Parameters[0].Values[0]; 00104 string provider = ConfigurationManager.AppSettings["RADEVProvider"].ToLower(); 00105 switch (e.ReportPath) 00106 { 00107 case "Template - RADEV Summary Sub": 00108 e.DataSources.Add(ReportManagement.GetRADEVDataSource(provider, "EventWorkPublicDosimetry", criterias)); 00109 break; 00110 case "Template - RADEV RadiationGenerator": 00111 e.DataSources.Add(ReportManagement.GetRADEVDataSource(provider, "RadiationGenerator", criterias)); 00112 break; 00113 case "Template - RADEV RadiationDevice": 00114 e.DataSources.Add(ReportManagement.GetRADEVDataSource(provider, "RadiationDevice", criterias)); 00115 break; 00116 case "Template - RADEV RadiationSource": 00117 e.DataSources.Add(ReportManagement.GetRADEVDataSource(provider, "RadiationSource", criterias)); 00118 break; 00119 case "Template - RADEV EventWorkerPublicType": 00120 e.DataSources.Add(ReportManagement.GetRADEVDataSource(provider, "EventWorkerPublicType", criterias)); 00121 break; 00122 case "Template - RADEV EventWorkerPublicCauses": 00123 e.DataSources.Add(ReportManagement.GetRADEVDataSource(provider, "EventWorkerPublicCauses", criterias)); 00124 break; 00125 } 00126 } 00127 00128 MemoryStream GetTranslatedReportDefinition(string reportName) 00129 { 00130 string virtualDirectori = Server.HtmlEncode(Request.ApplicationPath) == "/" ? "" : Server.HtmlEncode(Request.ApplicationPath); 00131 00132 return ReportManagement.GetTranslatedReportDefinition(this.CurrentUser 00133 , string.Format("{0}/Reports/{1}.rdlc" 00134 , Server.MapPath(string.Empty) 00135 , reportName) 00136 , HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host + virtualDirectori + "/" 00137 , (string)Session["CultureName"] 00138 , (bool)Session["IsRightToLeft"]); 00139 } 00140 } 00141 }